package com.xtianzhuang.www.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class TdPParamExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    private Integer limit;

    private Integer offset;

    public TdPParamExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria implements Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andParamIdIsNull() {
            addCriterion("param_id is null");
            return (Criteria) this;
        }

        public Criteria andParamIdIsNotNull() {
            addCriterion("param_id is not null");
            return (Criteria) this;
        }

        public Criteria andParamIdEqualTo(Integer value) {
            addCriterion("param_id =", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdNotEqualTo(Integer value) {
            addCriterion("param_id <>", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdGreaterThan(Integer value) {
            addCriterion("param_id >", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("param_id >=", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdLessThan(Integer value) {
            addCriterion("param_id <", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdLessThanOrEqualTo(Integer value) {
            addCriterion("param_id <=", value, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdIn(List<Integer> values) {
            addCriterion("param_id in", values, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdNotIn(List<Integer> values) {
            addCriterion("param_id not in", values, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdBetween(Integer value1, Integer value2) {
            addCriterion("param_id between", value1, value2, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamIdNotBetween(Integer value1, Integer value2) {
            addCriterion("param_id not between", value1, value2, "paramId");
            return (Criteria) this;
        }

        public Criteria andParamCodeIsNull() {
            addCriterion("param_code is null");
            return (Criteria) this;
        }

        public Criteria andParamCodeIsNotNull() {
            addCriterion("param_code is not null");
            return (Criteria) this;
        }

        public Criteria andParamCodeEqualTo(String value) {
            addCriterion("param_code =", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeNotEqualTo(String value) {
            addCriterion("param_code <>", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeGreaterThan(String value) {
            addCriterion("param_code >", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeGreaterThanOrEqualTo(String value) {
            addCriterion("param_code >=", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeLessThan(String value) {
            addCriterion("param_code <", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeLessThanOrEqualTo(String value) {
            addCriterion("param_code <=", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeLike(String value) {
            addCriterion("param_code like", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeNotLike(String value) {
            addCriterion("param_code not like", value, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeIn(List<String> values) {
            addCriterion("param_code in", values, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeNotIn(List<String> values) {
            addCriterion("param_code not in", values, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeBetween(String value1, String value2) {
            addCriterion("param_code between", value1, value2, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamCodeNotBetween(String value1, String value2) {
            addCriterion("param_code not between", value1, value2, "paramCode");
            return (Criteria) this;
        }

        public Criteria andParamNameIsNull() {
            addCriterion("param_name is null");
            return (Criteria) this;
        }

        public Criteria andParamNameIsNotNull() {
            addCriterion("param_name is not null");
            return (Criteria) this;
        }

        public Criteria andParamNameEqualTo(String value) {
            addCriterion("param_name =", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotEqualTo(String value) {
            addCriterion("param_name <>", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameGreaterThan(String value) {
            addCriterion("param_name >", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameGreaterThanOrEqualTo(String value) {
            addCriterion("param_name >=", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameLessThan(String value) {
            addCriterion("param_name <", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameLessThanOrEqualTo(String value) {
            addCriterion("param_name <=", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameLike(String value) {
            addCriterion("param_name like", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotLike(String value) {
            addCriterion("param_name not like", value, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameIn(List<String> values) {
            addCriterion("param_name in", values, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotIn(List<String> values) {
            addCriterion("param_name not in", values, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameBetween(String value1, String value2) {
            addCriterion("param_name between", value1, value2, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamNameNotBetween(String value1, String value2) {
            addCriterion("param_name not between", value1, value2, "paramName");
            return (Criteria) this;
        }

        public Criteria andParamDirectionIsNull() {
            addCriterion("param_direction is null");
            return (Criteria) this;
        }

        public Criteria andParamDirectionIsNotNull() {
            addCriterion("param_direction is not null");
            return (Criteria) this;
        }

        public Criteria andParamDirectionEqualTo(String value) {
            addCriterion("param_direction =", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionNotEqualTo(String value) {
            addCriterion("param_direction <>", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionGreaterThan(String value) {
            addCriterion("param_direction >", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionGreaterThanOrEqualTo(String value) {
            addCriterion("param_direction >=", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionLessThan(String value) {
            addCriterion("param_direction <", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionLessThanOrEqualTo(String value) {
            addCriterion("param_direction <=", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionLike(String value) {
            addCriterion("param_direction like", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionNotLike(String value) {
            addCriterion("param_direction not like", value, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionIn(List<String> values) {
            addCriterion("param_direction in", values, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionNotIn(List<String> values) {
            addCriterion("param_direction not in", values, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionBetween(String value1, String value2) {
            addCriterion("param_direction between", value1, value2, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andParamDirectionNotBetween(String value1, String value2) {
            addCriterion("param_direction not between", value1, value2, "paramDirection");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andParamTypeIsNull() {
            addCriterion("param_type is null");
            return (Criteria) this;
        }

        public Criteria andParamTypeIsNotNull() {
            addCriterion("param_type is not null");
            return (Criteria) this;
        }

        public Criteria andParamTypeEqualTo(String value) {
            addCriterion("param_type =", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeNotEqualTo(String value) {
            addCriterion("param_type <>", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeGreaterThan(String value) {
            addCriterion("param_type >", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeGreaterThanOrEqualTo(String value) {
            addCriterion("param_type >=", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeLessThan(String value) {
            addCriterion("param_type <", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeLessThanOrEqualTo(String value) {
            addCriterion("param_type <=", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeLike(String value) {
            addCriterion("param_type like", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeNotLike(String value) {
            addCriterion("param_type not like", value, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeIn(List<String> values) {
            addCriterion("param_type in", values, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeNotIn(List<String> values) {
            addCriterion("param_type not in", values, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeBetween(String value1, String value2) {
            addCriterion("param_type between", value1, value2, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamTypeNotBetween(String value1, String value2) {
            addCriterion("param_type not between", value1, value2, "paramType");
            return (Criteria) this;
        }

        public Criteria andParamStateIsNull() {
            addCriterion("param_state is null");
            return (Criteria) this;
        }

        public Criteria andParamStateIsNotNull() {
            addCriterion("param_state is not null");
            return (Criteria) this;
        }

        public Criteria andParamStateEqualTo(String value) {
            addCriterion("param_state =", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateNotEqualTo(String value) {
            addCriterion("param_state <>", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateGreaterThan(String value) {
            addCriterion("param_state >", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateGreaterThanOrEqualTo(String value) {
            addCriterion("param_state >=", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateLessThan(String value) {
            addCriterion("param_state <", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateLessThanOrEqualTo(String value) {
            addCriterion("param_state <=", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateLike(String value) {
            addCriterion("param_state like", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateNotLike(String value) {
            addCriterion("param_state not like", value, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateIn(List<String> values) {
            addCriterion("param_state in", values, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateNotIn(List<String> values) {
            addCriterion("param_state not in", values, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateBetween(String value1, String value2) {
            addCriterion("param_state between", value1, value2, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamStateNotBetween(String value1, String value2) {
            addCriterion("param_state not between", value1, value2, "paramState");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeIsNull() {
            addCriterion("param_data_type is null");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeIsNotNull() {
            addCriterion("param_data_type is not null");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeEqualTo(String value) {
            addCriterion("param_data_type =", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeNotEqualTo(String value) {
            addCriterion("param_data_type <>", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeGreaterThan(String value) {
            addCriterion("param_data_type >", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeGreaterThanOrEqualTo(String value) {
            addCriterion("param_data_type >=", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeLessThan(String value) {
            addCriterion("param_data_type <", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeLessThanOrEqualTo(String value) {
            addCriterion("param_data_type <=", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeLike(String value) {
            addCriterion("param_data_type like", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeNotLike(String value) {
            addCriterion("param_data_type not like", value, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeIn(List<String> values) {
            addCriterion("param_data_type in", values, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeNotIn(List<String> values) {
            addCriterion("param_data_type not in", values, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeBetween(String value1, String value2) {
            addCriterion("param_data_type between", value1, value2, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataTypeNotBetween(String value1, String value2) {
            addCriterion("param_data_type not between", value1, value2, "paramDataType");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthIsNull() {
            addCriterion("param_data_length is null");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthIsNotNull() {
            addCriterion("param_data_length is not null");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthEqualTo(String value) {
            addCriterion("param_data_length =", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthNotEqualTo(String value) {
            addCriterion("param_data_length <>", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthGreaterThan(String value) {
            addCriterion("param_data_length >", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthGreaterThanOrEqualTo(String value) {
            addCriterion("param_data_length >=", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthLessThan(String value) {
            addCriterion("param_data_length <", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthLessThanOrEqualTo(String value) {
            addCriterion("param_data_length <=", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthLike(String value) {
            addCriterion("param_data_length like", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthNotLike(String value) {
            addCriterion("param_data_length not like", value, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthIn(List<String> values) {
            addCriterion("param_data_length in", values, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthNotIn(List<String> values) {
            addCriterion("param_data_length not in", values, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthBetween(String value1, String value2) {
            addCriterion("param_data_length between", value1, value2, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andParamDataLengthNotBetween(String value1, String value2) {
            addCriterion("param_data_length not between", value1, value2, "paramDataLength");
            return (Criteria) this;
        }

        public Criteria andDefaultValueIsNull() {
            addCriterion("default_value is null");
            return (Criteria) this;
        }

        public Criteria andDefaultValueIsNotNull() {
            addCriterion("default_value is not null");
            return (Criteria) this;
        }

        public Criteria andDefaultValueEqualTo(String value) {
            addCriterion("default_value =", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueNotEqualTo(String value) {
            addCriterion("default_value <>", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueGreaterThan(String value) {
            addCriterion("default_value >", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueGreaterThanOrEqualTo(String value) {
            addCriterion("default_value >=", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueLessThan(String value) {
            addCriterion("default_value <", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueLessThanOrEqualTo(String value) {
            addCriterion("default_value <=", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueLike(String value) {
            addCriterion("default_value like", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueNotLike(String value) {
            addCriterion("default_value not like", value, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueIn(List<String> values) {
            addCriterion("default_value in", values, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueNotIn(List<String> values) {
            addCriterion("default_value not in", values, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueBetween(String value1, String value2) {
            addCriterion("default_value between", value1, value2, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andDefaultValueNotBetween(String value1, String value2) {
            addCriterion("default_value not between", value1, value2, "defaultValue");
            return (Criteria) this;
        }

        public Criteria andParentParamIdIsNull() {
            addCriterion("parent_param_id is null");
            return (Criteria) this;
        }

        public Criteria andParentParamIdIsNotNull() {
            addCriterion("parent_param_id is not null");
            return (Criteria) this;
        }

        public Criteria andParentParamIdEqualTo(Integer value) {
            addCriterion("parent_param_id =", value, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdNotEqualTo(Integer value) {
            addCriterion("parent_param_id <>", value, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdGreaterThan(Integer value) {
            addCriterion("parent_param_id >", value, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("parent_param_id >=", value, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdLessThan(Integer value) {
            addCriterion("parent_param_id <", value, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdLessThanOrEqualTo(Integer value) {
            addCriterion("parent_param_id <=", value, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdIn(List<Integer> values) {
            addCriterion("parent_param_id in", values, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdNotIn(List<Integer> values) {
            addCriterion("parent_param_id not in", values, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdBetween(Integer value1, Integer value2) {
            addCriterion("parent_param_id between", value1, value2, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andParentParamIdNotBetween(Integer value1, Integer value2) {
            addCriterion("parent_param_id not between", value1, value2, "parentParamId");
            return (Criteria) this;
        }

        public Criteria andIsNotNullIsNull() {
            addCriterion("is_not_null is null");
            return (Criteria) this;
        }

        public Criteria andIsNotNullIsNotNull() {
            addCriterion("is_not_null is not null");
            return (Criteria) this;
        }

        public Criteria andIsNotNullEqualTo(String value) {
            addCriterion("is_not_null =", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullNotEqualTo(String value) {
            addCriterion("is_not_null <>", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullGreaterThan(String value) {
            addCriterion("is_not_null >", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullGreaterThanOrEqualTo(String value) {
            addCriterion("is_not_null >=", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullLessThan(String value) {
            addCriterion("is_not_null <", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullLessThanOrEqualTo(String value) {
            addCriterion("is_not_null <=", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullLike(String value) {
            addCriterion("is_not_null like", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullNotLike(String value) {
            addCriterion("is_not_null not like", value, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullIn(List<String> values) {
            addCriterion("is_not_null in", values, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullNotIn(List<String> values) {
            addCriterion("is_not_null not in", values, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullBetween(String value1, String value2) {
            addCriterion("is_not_null between", value1, value2, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andIsNotNullNotBetween(String value1, String value2) {
            addCriterion("is_not_null not between", value1, value2, "isNotNull");
            return (Criteria) this;
        }

        public Criteria andParamOrderIsNull() {
            addCriterion("param_order is null");
            return (Criteria) this;
        }

        public Criteria andParamOrderIsNotNull() {
            addCriterion("param_order is not null");
            return (Criteria) this;
        }

        public Criteria andParamOrderEqualTo(Integer value) {
            addCriterion("param_order =", value, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderNotEqualTo(Integer value) {
            addCriterion("param_order <>", value, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderGreaterThan(Integer value) {
            addCriterion("param_order >", value, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderGreaterThanOrEqualTo(Integer value) {
            addCriterion("param_order >=", value, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderLessThan(Integer value) {
            addCriterion("param_order <", value, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderLessThanOrEqualTo(Integer value) {
            addCriterion("param_order <=", value, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderIn(List<Integer> values) {
            addCriterion("param_order in", values, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderNotIn(List<Integer> values) {
            addCriterion("param_order not in", values, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderBetween(Integer value1, Integer value2) {
            addCriterion("param_order between", value1, value2, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andParamOrderNotBetween(Integer value1, Integer value2) {
            addCriterion("param_order not between", value1, value2, "paramOrder");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdIsNull() {
            addCriterion("create_staff_id is null");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdIsNotNull() {
            addCriterion("create_staff_id is not null");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdEqualTo(String value) {
            addCriterion("create_staff_id =", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdNotEqualTo(String value) {
            addCriterion("create_staff_id <>", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdGreaterThan(String value) {
            addCriterion("create_staff_id >", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdGreaterThanOrEqualTo(String value) {
            addCriterion("create_staff_id >=", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdLessThan(String value) {
            addCriterion("create_staff_id <", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdLessThanOrEqualTo(String value) {
            addCriterion("create_staff_id <=", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdLike(String value) {
            addCriterion("create_staff_id like", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdNotLike(String value) {
            addCriterion("create_staff_id not like", value, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdIn(List<String> values) {
            addCriterion("create_staff_id in", values, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdNotIn(List<String> values) {
            addCriterion("create_staff_id not in", values, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdBetween(String value1, String value2) {
            addCriterion("create_staff_id between", value1, value2, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andCreateStaffIdNotBetween(String value1, String value2) {
            addCriterion("create_staff_id not between", value1, value2, "createStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdIsNull() {
            addCriterion("update_staff_id is null");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdIsNotNull() {
            addCriterion("update_staff_id is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdEqualTo(String value) {
            addCriterion("update_staff_id =", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdNotEqualTo(String value) {
            addCriterion("update_staff_id <>", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdGreaterThan(String value) {
            addCriterion("update_staff_id >", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdGreaterThanOrEqualTo(String value) {
            addCriterion("update_staff_id >=", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdLessThan(String value) {
            addCriterion("update_staff_id <", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdLessThanOrEqualTo(String value) {
            addCriterion("update_staff_id <=", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdLike(String value) {
            addCriterion("update_staff_id like", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdNotLike(String value) {
            addCriterion("update_staff_id not like", value, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdIn(List<String> values) {
            addCriterion("update_staff_id in", values, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdNotIn(List<String> values) {
            addCriterion("update_staff_id not in", values, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdBetween(String value1, String value2) {
            addCriterion("update_staff_id between", value1, value2, "updateStaffId");
            return (Criteria) this;
        }

        public Criteria andUpdateStaffIdNotBetween(String value1, String value2) {
            addCriterion("update_staff_id not between", value1, value2, "updateStaffId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria implements Serializable {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion implements Serializable {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}